#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
#include <math.h>
int is_prime(int n)
{
	if (n != 2 && n % 2 == 0)
		return 0;
	for (int i = 2; i <= sqrt(n); i++)
	{
		if (n % i == 0)
		{
			return 0;
		}
	}
	return 1;
}
int ton = 0;
void yzc(int a[], int m,int sum,int q,int n,int k)
{
	if (m == k) {
		if (is_prime(sum)==1)
			ton++;
		return;
	}
	for (int i = q; i < n; i++)
	{
		yzc(a, m + 1, sum + a[i], i + 1, n, k);
	};
}
int main()
{
	int n, k;
	scanf("%d%d", &n, &k);
	int a[20];
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &a[i]);
	}
	yzc(a, 0, 0, 0, n, k);
	printf("%d", ton);
	return 0;
}